// pages/example/rechview/rechview.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    list: []

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 初始化时随机追加 100 条数据
    var list = this.data.list;
    for (var i = 0; i < 50; i++) {
      list.push(Math.random());
    }
    this.setData({
      list: list,
    });

    wx.getSystemInfo({
      success: (result) => {
        this.setData({
          screenHeight: result.windowHeight -  120,
          screenWidth: result.windowWidth
        })
      },
      fail: (res) => {},
      complete: (res) => {},
    })
  },

  onScrollToLower() {
    console.log('onScrollToLower')
    // 模拟请求数据，并渲染,一般情况下，请求数据是异步的，所以这里用 setTimeout 模拟异步请求的延迟
    wx.showToast({
      title: '加载ing...',
      icon: 'loading',
    })
    // 第一种情况,拿到后端返回的指定页码的数据,假定此数据是 Array ,循环数据 push到list中
    var timer = setTimeout(() => {
      let list = this.data.list;
      for (var i = 0; i < 50; i++) {
        list.push(Math.random());
      }
      this.setData({
        list: list,
      });

      wx.nextTick(() => {
        clearTimeout(timer)
        wx.hideToast();
      })
    }, 2000);
    // 第二种情况,将原有数据和新数据合并,使用 ES6 的 ... 运算符
    // var timer = setTimeout(() => {
    //   let list = this.data.list;
    //   let newData = [];
    //   for (var i = 0; i < 100; i++) {
    //     newData.push(Math.random());
    //   }
    //   this.setData({
    //     list: [...list, ...newData], // 合并旧数据和新数据为一个新数组
    //   });
    //   wx.nextTick(() => {
    //     clearTimeout(timer)
    //     wx.hideToast();
    //   })
    // }, 2000);
  },
})